Состав работ:

  1. Проверка готовности всего необходимого для ЕРВУ Системного ПО:
    1. кластера СУБД Postgre
    2. кластера СУБД Arango
    3. кластера СУБД Redic
    4. кластера СУБД Clickhouse
    5. кластер брокера сообщений Kafaka
    6. кластер S3 - VK S3/ MinIO S3
    7. кластер Kubernetes
    8. инфра для релизов - nexus/jenkins/git
  1. Базы данных:
    1. Поднять копии баз данных (всех или по уточненному списку) 
    2. Провести очистку баз данных от персданных 
    3. Перенос очищенных баз данных в ЦОД ПРОДА
  2. Работы по S3
    1. Подготовить структуру корзин и пользователей идентично ПИЛОТу 
  3. Работы по Kafka
    1. Применить фалы kafka.acl всех прикладных сервисов ЕРВУ к кластеру Kafka
  4. Работы по выводу прикладных сервисов ЕРВУ 
    1. Обновить файлы с конфигурациями в ПРОД
    2. Раскатать актуальную версию сервисов из репозитория ПИЛОТА (версия - 1.8.1)
    3. Подменить значения мнемоник и сертификатов на актуальные 




Локация баз данных для развертывания

Резервные копии баз данных и структуру баз данных, предполагается снимать с UAT стенда ЕРВУ. 

Информацию о расположении баз на UAT ЕРВУ доступна по ссылке:

https://confluence.egovdev.ru/display/knowledgebase/ERVU-UAT


Список целевых кластеров для баз данных PostgreSQL ЕРВУ в целевом ЦОД:

Наименование базы данных
Наименование кластера
1database_schedulerp00agndadb
2endpoints_access_info p00agndadb
3ervu_appeal_documentp00agndadb
4ervu_application_calcp00agndadb
5ervu_application_gatewayp00agndadb
6ervu_decision_documentp00agndadb
7ervu_doc_mergep00agndadb
8ervu_extract_from_registry_providerp00agndadb
9ervu_importp00agndadb
10ervu_import_controllerp00agndadb
11ervu_incidentsp00agndadb
12ervu_nsip00agndadb
13ervu_person_registryp00agndadb
14ervu-preliminary-datap00agndadb
15job_statusp00agndadb
16template_prefill_gatewayp00agndadb
17ervu_geps_notificationsp00omnidb
18ervu_journalp00omnidb
19ervu_mz_monitorp00omnidb
20ervu_sequencep00omnidb
21ervu_subpoena_exporterdatap00omnidb
22ervu_subpoena_registryp00omnidb
23ervu_summon_list_registryp00omnidb
24mz_discovery p00omnidb
25mz_epgu_hubsp00omnidb
26mz_ervu_restriction_infop00omnidb
27mz_historyp00omnidb
28mz_mnsv_ervu_rp_summonp00omnidb
29workflow-servicep00omnidb
30idmp00regdb

Порядок установки

  1. Изменения Кафка
  2. Сборка и запуск сервиса endpoints-access-info
  3. Сборка и запуск сервиса mz-discovery
  4. Сборка и загрузка сервиса IDM (аффект на весь проект)
  5. Сборка и загрузка сервиса sso-service (аффект на весь проект)
  6. Сборка и запуск сервиса workflow-service (аффект на весь проект)
  7. Сборка и запуск сервиса doc-sign-service (аффект на процессы подписания)
  8. Сборка и запуск сервиса notifier-consumer-notification
  9. Сборка и запуск сервиса notifier-gateway
  10. Сборка и запуск сервиса wf-process-events-collector
  11. Сборка и запуск сервиса ervu-application-gateway
  12. Сборка и запуск сервиса ervu-data-update-controller
  13. Сборка и запуск сервиса ervu-person-registry
  14. Сборка и запуск сервиса ervu-validate-recruits
  15. Сборка и запуск сервиса template-prefill-gateway-service
  16. Сборка и запуск сервиса ervu-xml-generator
  17. Сборка и запуск сервиса ervu-application-calc-service
  18. Сборка и запуск сервиса ervu-appeal-document-service
  19. Сборка и запуск сервиса ervu-decision-document-service
  20. Сборка и запуск сервиса ervu-process-application-service
  21. Сборка и запуск сервиса personal-template-prefill-service
  22. Сборка и запуск сервиса ervu-scheduler-executor-service
  23. Сборка и запуск сервиса ervu-import-service
  24. Сборка и запуск сервиса ervu-import-controller
  25. Сборка и запуск сервиса document-registry
  26. Сборка и запуск сервиса service-registry
  27. Сборка и запуск сервиса ervu-subpoena-registry
  28. Сборка и запуск сервиса ervu-summon-list-registry
  29. Сборка и запуск сервиса ervu-subpoena-exporterdata
  30. Сборка и запуск сервиса ervu-incidents-service
  31. Сборка и запуск сервиса ervu-incident-generator-service
  32. Сборка и запуск сервиса ervu-doc-merge-service
  33. Сборка и запуск сервиса ervu-sequence
  34. Сборка и запуск сервиса job-status-service
  35. Сборка и запуск сервиса fias
  36. Сборка и запуск сервиса stat-report-scheduler
  37. Сборка и запуск сервиса proxy-gateway
  38. Сборка и запуск сервиса sig-generator-service
  39. Сборка и запуск сервиса printer
  40. Сборка и запуск сервиса printer-async
  41. Сборка и запуск сервиса ervu-extract-from-registry-provider
  42. Сборка и запуск сервиса wf-smev-getway
  43. Сборка и запуск сервиса s3urlsigner
  44. Сборка и запуск сервиса mz-epgu-hubs
  45. Сборка и запуск сервиса mz-mnsv-ervu-suspension-realty-reg
  46. Сборка и запуск сервиса mz-mnsv-ervu-rp-summons
  47. Сборка и запуск сервиса mz-mnsv-ervu-measures-temporary-confirm
  48. Сборка и запуск сервиса mz-mnsv-ervu-fns-registration
  49. Сборка и запуск сервиса mz-mnsv-ervu-driving-registration-vehicle
  50. Сборка и запуск сервиса mz-mnsv-ervu-abroad-forbidden-temporary
  51. Сборка и запуск сервиса mz-fns-idern
  52. Сборка и запуск сервиса mz-gateway
  53. Сборка и запуск сервиса mz-data-upload
  54. Сборка и запуск сервиса mz-adapter-ver1-3
  55. Сборка и запуск сервиса mz-adapter
  56. Сборка и запуск сервиса micro-digest-calc
  57. Сборка и запуск сервиса ervu-journal-service
  58. Сборка и запуск сервиса ervu-user-actions-collector
  59. Сборка и запуск сервиса ervu-import-history-service
  60. Сборка и запуск сервиса ervu-ui-action-service
  61. Сборка и запуск сервиса ervu-mz-monitor-service
  62. Сборка и запуск сервиса ervu-object-history-service
  63. Сборка и запуск сервиса ervu-object-diff-calc
  64. Сборка и запуск сервиса mz-history-3
  65. Сборка и запуск сервиса ervu-nsi-service
  66. Сборка и запуск сервиса auth-events-collector
  67. Сборка и запуск сервиса ervu-auth-admin-events-solar
  68. Сборка и запуск сервиса mz-event-service
  69. Сборка и запуск сервиса microws
  70. Сборка и запуск сервиса front-idm-micro
  71. Установка процессов
  72. Установка услуг
  73. Выполняемые CURL

Скейл для прикладных сервисов ЕРВУ

Сервисы ЕРВУМожет иметь scale replicas>1

auth-events-collectorда

doc-sign-serviceда

document-registryда

endpoints-access-infoда

ervu-appeal-document-serviceда

ervu-application-calc-serviceда

ervu-application-gatewayда

ervu-auth-admin-events-solarда

ervu-data-update-controllerда

ervu-decision-document-serviceда

ervu-doc-merge-serviceда

ervu-extract-from-registry-providerда

ervu-import-controllerда

ervu-import-history-serviceда

ervu-import-serviceда

ervu-incident-generator-serviceда

ervu-incidents-serviceда

ervu-journal-serviceда

ervu-mz-monitor-service
да
кол-во подов =кол-ву минимальной партиции на топиках 
mz-out-request: mz.out.request
mz-out-response: mz.out.response

ervu-nsi-serviceда

ervu-object-diff-calcда

ervu-object-history-serviceда

ervu-person-registryда

ervu-process-application-serviceда

ervu-scheduler-executor-serviceда

ervu-sequenceда

ervu-subpoena-exporterdataда

ervu-subpoena-registryда

ervu-summon-list-registryда

ervu-ui-action-serviceда

ervu-user-actions-collectorда

ervu-validate-recruitsда

ervu-xml-generatorда

fiasда

front-idm-micro

idmда

job-status-serviceда

micro-digest-calcда

microws

mz-adapterда

mz-adapter-ver1-3да

mz-data-uploadда

mz-discoveryнет

mz-epgu-hubsнет

mz-event-serviceда

mz-fns-idernда

mz-gatewayда

mz-history-3да

mz-mnsv-ervu-abroad-forbidden-temporaryда

mz-mnsv-ervu-driving-registration-vehicleда

mz-mnsv-ervu-fns-registrationда

mz-mnsv-ervu-measures-temporary-confirmда

mz-mnsv-ervu-rp-summonsда

mz-mnsv-ervu-suspension-realty-regда

mz-resend-serviceнет

notifier-consumer-notificationда

notifier-gatewayда

personal-template-prefill-serviceда

printerда

printer-asyncда

proxy-gatewayда

s3urlsignerда

service-registry

sig-generator-service

да

кол-во подов = кол-ву партиций на топике sig.generator.request


sso-serviceда

stat-report-schedulerда

template-prefill-gateway-serviceда

wf-process-events-collectorда

wf-smev-getwayнет

workflow-serviceда


Работы по S3

Перечень корзин и пользователей с их правами, которые необходимо настроить на стороне S3 для работы прикладных сервисов ЕРВУ:

  • квоты взяты с UAT стенда для целевого стенда должны быть увеличены
Корзина
Размер гб, uat
Пользователь
Права
printer3ervu-doc-merge-serviceread
printer3ervu-doc-merge-serviceread
ervu-doc-merged1ervu-doc-merge-serviceread, write, delete
printer3ervu-extract-from-registry-providerread, write, delete
mz-attachment3ervu-extract-from-registry-providerread, write
mz-mock-adapter0,1ervu-extract-from-registry-providerread, write, delete
print-template1ervu-extract-from-registry-providerBROWSE,READ,WRITE,DELETE
ervu-attachment3ervu-importBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
ervu-attachment3ervu-person-registryread, write, delete
ervu-attachment3ervu-subpoena-registryBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
ervu-summon-list3ervu-summon-list-registryBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
mz-attachment3ervu-validate-recruitsread, write, delete
mz-mock-adapter0,1ervu-validate-recruitsread
ervu-xml-generated1ervu-xml-generatorread, write, delete
registry-data1micro-digest-calcread, write, delete
ervu-private2micro-digest-calcread
personal-account-service0,5micro-digest-calcread
printer3micro-digest-calcread, write
pgs-application3micro-digest-calcread, write, delete
pgs-application3mz-adapterread
mz-attachment3mz-adapterread, write, delete
ervu-attachment3mz-adapterread, write, delete
mz-gateway-attachment1mz-adapterread
mz-pgs-sitex-attachment0,5mz-adapterread
printer3mz-adapterread
mz-fsmev-attachment0,1mz-adapterread
mz-data-upload0,5mz-data-uploadread, write, delete
mz-attachment3mz-data-uploadread
mz-fsmev-attachment0,1mz-data-uploadread
mz-mock-adapter0,1mz-data-uploadread
pgs-application3mz-data-uploadread
printer3mz-data-uploadread
pgs-application3personal-template-prefill-serviceread, write
printer3printerread, write, delete
mz-fsmev-attachment0,1printerread
mz-mock-adapter0,1printerread
pgs-application3printerread, write, delete
mz-data-upload0,5printerread
pgs-printer3printerBROWSE,READ,WRITE, DELETE
print-template1printerBROWSE,READ,WRITE,DELETE
ervu-attachment3s3urlsignerread, write, delete
ervu-merged1s3urlsignerread, write
ervu-private2s3urlsignerread, write
ervu-xml-generated1s3urlsignerread, write
mz-attachment3s3urlsignerread
mz-data-upload0,5s3urlsignerread
mz-mock-adapter0,1s3urlsignerread
mz-pgs-sitex-attachment0,5s3urlsignerread
mz-s3-requests-writer0,5s3urlsignerread
personal-account-service0,5s3urlsignerread
pgs-application3s3urlsignerread, write, delete
printer3s3urlsignerread, write, delete
registry-data1s3urlsignerread, write
s3urlsigner1s3urlsignerread, write, delete
stat-report-scheduler1s3urlsignerread, write
mz-mock-adapter0,1s3urlsignerread
mz-fsmev-attachment0,1s3urlsignerread
ervu-doc-merged1s3urlsignerread
ervu-extract-from-registry-provider10s3urlsignerBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
ervu-summon-list3s3urlsignerBROWSE,READ,READ_ACL
mz-inner-petitions-attachment0,5s3urlsignerBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
ervu-attachment3s3urlsignerBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
mz-attachment3sig-generator-servicewrite
printer3sig-generator-serviceBROWSE,READ
mz-attachment3sig-generator-serviceBROWSE,WRITE
printer3sig-generator-serviceBROWSE,READ
mz-attachment3sig-generator-serviceBROWSE,READ,WRITE
ervu-extract-from-registry-provider10sig-generator-serviceBROWSE,READ,READ_ACL,WRITE_ACL,WRITE
stat-report-scheduler1stat-report-schedulerread, write, delete
s3urlsigner1stat-report-schedulerread

Изменения Kafka

endpoints- access-info, mz-discovery, proxy-gateway, sig-generator-service, printer, printer-async, ervu-extract-from-registry-provider, wf-smev-getway, s3urlsigner, mz-epgu-hubs, mz-mnsv-ervu-suspension-realty-reg, mz-mnsv-ervu-rp-summons, mz-mnsv-ervu-measures-temporary-confirm, mz-mnsv-ervu-fns-registration, mz-mnsv-ervu-driving-registration-vehicle, mz-mnsv-ervu-abroad-forbidden-temporary, mz-fns-idern, mz-gateway, mz-data-upload, mz-adapter-ver1-3, mz-adapter, micro-digest-calc, ervu-journal-service, ervu-user-actions-collector, ervu-import-history-service, ervu-ui-action-service, ervu-mz-monitor-service, ervu-object-history-service, ervu-object-diff-calc, mz-history-3, ervu-nsi-service, auth-events-collector, ervu-auth-admin-events-solar, mz-event-service, doc-sign-service, idm, notifier-consumer-notification, sso-service, wf-process-events-collector, workflow-service, ervu-application-gateway, ervu-data-update-controller, ervu-person-registry, ervu-validate-recruits, template-prefill-gateway-service, ervu-application-calc-service, ervu-appeal-document-service, ervu-decision-document-service, ervu-process-application-service, personal-template-prefill-service, ervu-import-service, ervu-import-controller, document-registry, service- registry, ervu-subpoena-registry, ervu-summon-list-registry, ervu-subpoena-exporterdata, ervu-incidents-service, ervu-incident-generator-service, ervu-sequence, ervu-doc-merge-service, job-status-service, stat-report-scheduler

Установка процессов

Выполняется строго после обновления сервиса workflow-service

  1. Скачать содержимое https://git.gosuslugi.local/ervu/source/ervu-bpmn/-/tree/release/ervu/1.8.0/processes 
  2. Распаковать скачанный zip-архив
  3. Запустить curl для каждого процесса из списка под токеном пользователя у которого есть роль "Администратор ПОИБ", где:

       <<host>> - host стенда,

       <<токен Администратор ПОИБ>> - токен пользователя у которого есть роль "Администратор ПОИБ"

       <<pathToFile>> - путь к файлу bpmn процесса

curl --location --request POST '<<host>>/service/wf/service/schema' \
--header 'Authorization: Bearer <<токен Администратор ПОИБ>>' \
--form 'files=@"<<pathToFile>>"'

Установка услуг

  1. Скачать архивы с услугами https://git.gosuslugi.local/ervu/source/ervu-bpmn/-/blob/release/ervu/1.8.0/services/__MilitaryRegistrationFL-v2.583.zip_.zip и https:// git.gosuslugi.local/ervu/source/ervu-bpmn/-/blob/release/ervu/1.8.0/ services/__MilitaryRegistrationUpdating-v1.1231.zip_.zip
  2. Запустить curl для каждого zip-архива под токеном пользователя у которого есть роль "Администратор ПОИБ", где:

       <<host>> - host стенда,

       <<токен Администратор ПОИБ>> - токен пользователя у которого есть роль "Администратор ПОИБ"

       <<pathToFile>> - путь к zip-архиву услуги

curl обновления услуги
curl --location
'<<host>>/service/registry/service/backup/import/zip' \
--header 'Authorization: Bearer <<токен Администратор ПОИБ>>' \
--form 'zip=@"<<pathToFile>>'


План установки


Сборка и загрузка сервиса IDM

ВАЖНО - в сервисе IDMv2 используется БД Postgres и расширение Apache AGE (функционал графов). 

Подготовка БД для сервиса IDMv2

Нужно либо взять полностью дамп с ЮАТ, либо развернуть с нуля. Инструкция по разворачиванию с нуля: 

  1. Развернуть отдельную виртуальную машину с БД Postgres PRO 14.
    1. рекомендуемые параметры запуска БД
      shared_buffers - рекомендуется выставить в диапазоне от 15% до 25% от RAM. 
      work_mem  - рекомендуется выставить примерно по формуле [Total RAM  in MB * 0.25 / max_connections]. Рекомендуем выставить 50
      maintenance_work_mem - рекомендуется выставить примерно по формуле [Total RAM  in MB * 0.05].

  2. Скачать и скомпилировать дистрибутив Apache AGE по ссылке
    https://git.gosuslugi.local/pgs2-rtlabs/source/idm-v2/-/blob/dev/dev_setup_idmv2/apache_age_distrib/age-PG14-v1.4.0-rc0.tar.gz

    ВАЖНО: Официальная инструкция по компиляции и установке расширения Apache AGE доступна по ссылке.
    https://age.apache.org/age-manual/master/intro/setup.html#installing-from-source-code

    ВАЖНО - дистрибутив Postgres PRO обязательно версии 14.
    Предоставленный дистрибутив Apache AGE версии 1.4.0 скомпилируется только под версией Postgres 14

    Существует три примера компиляции Apache AGE под Postgres PRO

    Пример 1. На dev стенде по адресу https://k8s-dashboard-dev.pgs.rtlabs.ru разворачивали в докере таким образом

    FROM centos:8
    ENV POSTGRES_PASSWORD=postgres
    #RUN yum -y update; yum clean all
    #RUN yum -y install sudo epel-release; yum clean all
    #RUN rm /etc/yum.repos.d/*
    RUN cd /etc/yum.repos.d/ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    ADD dev_setup_idmv2/nexus.repo /etc/yum.repos.d/nexus.repo
    #RUN yum repolist -v
    RUN yum update -y && \
        yum install -y redhat-rpm-config gcc make glibc readline readline-devel zlib zlib-devel flex bison
    RUN dnf install redhat-rpm-config -y
    RUN yum install -y postgrespro-std-14 postgrespro-std-14-devel
    ADD apache_age_distrib/apache-age-1.4.0-src.tar.gz /opt/apache-age-1.4.0-src
    RUN cd /opt/apache-age-1.4.0-src/apache-age-1.4.0 && make install
    RUN \
        mkdir -p /opt/pgpro/std-14/lib/plugins \
        && ln /opt/pgpro/std-14/lib/age.so /opt/pgpro/std-14/lib/plugins/age.so
    CMD ["postgres", "-c", "shared_preload_libraries=age"]


    Пример 2. Инженеры стенда по адресу https://k8s-dashboard-dev.pgs.rtlabs.ru предоставили примерный шаблон для компиляции под Postgres PRO на Alt Linux

    Получается такая схема:
    1. Прописываются 3 репы
    rpm [cert8] http://10.65.133.229:8081/repository/alt-c9f2-classic/ noarch classic
    rpm [cert8] http://10.65.133.229:8081/repository/alt-c9f2-classic/ x86_64 classic
    rpm http://repo.postgrespro.ru/pgpro-14 altlinux-spt/8.4/x86_64 pgpro
    2. Обновляется apt-get dist-upgrade -y
    3. Выпиливаются репы /etc/apt/sources.list.d/altsp-C.list
    4. Ставится Postgres PRO и все что надо для сборки Apache AGE
    apt-get install postgrespro-std-14 postgrespro-std-14-devel gcc flex bison -y
    5. Скачивается Apache AGE необходимой версии 
    6. Собирается make install

    Пример 3. Разработчики сервиса используют Dockerfile такого вида

    FROM postgres:14
     
    ARG apache_age_distrib_src=age-PG14-v1.4.0-rc0
     
    COPY apache_age_distrib /home/apache_age_distrib
     
    RUN apt-get update \
    && apt-get install --assume-yes --no-install-recommends --no-install-suggests \
          bison \
          build-essential \
          flex \
          postgresql-server-dev-14
     
    RUN \
        mkdir -p /home/apache_age_distrib/${apache_age_distrib_src} \
        && tar \
            --extract \
            --file /home/apache_age_distrib/${apache_age_distrib_src}.tar.gz \
            --directory /home/apache_age_distrib/${apache_age_distrib_src} \
            --strip-components 1 \
        && cd /home/apache_age_distrib/${apache_age_distrib_src} \
        && make install \
        && cd / \
        && rm -r /home/apache_age_distrib
     
    RUN \
        mkdir -p /usr/lib/postgresql/14/lib/plugins \
        && ln /usr/lib/postgresql/14/lib/age.so /usr/lib/postgresql/14/lib/plugins/age.so
     
    CMD ["postgres", "-c", "shared_preload_libraries=age"]



  3. ВАЖНО: после инсталляции в случае дистрибутива Postgres PRO 14 необходимо создать ссылку.

    mkdir -p /opt/pgpro/std-14/lib/plugins
    ln /opt/pgpro/std-14/lib/age.so /opt/pgpro/std-14/lib/plugins/age.so

    Это необходимо для корректной работы расширения ( доступа к типам Apache AGE ) не из под супер пользователя.
    Подробнее здесь в официальной инструкции: https://age.apache.org/age-manual/master/intro/setup.html#allow-non-superusers-to-use-apache-age


  4. Создать базу в кластере p00regdb.

    CREATE DATABASE idm;

  5. Создать расширения

    CREATE EXTENSION IF NOT EXISTS age;
    CREATE EXTENSION IF NOT EXISTS pg_trgm;


  6. Создать пользователя

    CREATE ROLE idm WITH LOGIN PASSWORD 'idm';
    GRANT ALL PRIVILEGES ON DATABASE idm TO idm;
    GRANT USAGE ON SCHEMA ag_catalog TO idm;


  7.  Провалидировать правильность выдачи грантов и настройки для доступа к типам Apache AGE для не супер пользователя.

    Провалидировать правильность выдачи грантов под пользователем IDM скриптом

    -- Проверка грантов на схему ag_catalog
    select * from ag_catalog.ag_graph;

    Ожидаемый результат - достаточно успешного выполения.


    Провалидировать настройки для доступа к типам Apache AGE для не супер пользователя под пользователем IDM скриптом. Если не работает значит был неверно сделан шаг 3.

    -- Проверка настройки доступа к типам AGE для не супер пользователя
    LOAD '$libdir/plugins/age.so';
    SET search_path = ag_catalog, "$user", public;
    SELECT i, pg_typeof(i) FROM ( SELECT '{"test":true }'::agtype -> 'test' as i) a;

    Ожидаемый результат - достаточно успешного выполения.


  8. Законфигурить pgbouncer под этот инстанс БД. Выделить как минимум 100 коннектов.

Деплой сервиса
  1. перед запуском применить kafka_ACL.txt https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/idm/kafka_ACL.txt
  2. Собрать и запустить сервис IDMv2 стандартным образом

    При первом деплоем сервиса initcontainer установит схему и таблицы.
    Провалидировать создание схемы скриптом

    select * from ag_catalog.ag_graph;

    Ожидаемый результат - одна запись со значением колонки name=idm_graph

  3. Если НЕ был накачен дамп, то нужно вручную накатить данные в таблицы скриптами в указанной последовательности - сначала вершины, потом связи между вершинами.
    Скачать скрипты на инстанс БД из https://git.gosuslugi.local/sql/ervu/-/tree/release/1.0.0/pgsql/idmv2/coredml 
    Из папки со скриптами последовательно запустить.
    ВАЖНО! СКРИПТ https://git.gosuslugi.local/sql/ervu/-/blob/release/1.0.0/pgsql/idmv2/coredml/019-idmv2-generated-relations.sql должен запускаться ПОСЛЕДНИМ!!!

  4. Запустить скрипты под токенам пользователя у котрого есть роль "Администратор ПОИБ"
    где 
    <<host>> - host стенда,
    <<токен Администратор ПОИБ>> - токен пользователя у котрого есть роль "Администратор ПОИБ"
     

    curl --location --request PATCH '<<host>>/service/idm/roles' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <<токен Администратор ПОИБ>>' \
    --data '[
         {
             "id": "c67e8903-a600-4c43-b3b5-139ee49eba01",
             "permissions": ["3b363d32-3456-489c-ac28-6e5afcb2d547", "1b271f54-12a1-44d9-8334-24bdd826120f", "a0d14d2a-88b4-4c8c-ab00-ad46500e20d2", "ceaacf92-f436-4672-9d29-2506b4333f20", "34f92ea9-9363-4cac-8e33-228cd6ba7437"]
         }
    ]'

    curl --location --request PUT '<<host>>/service/idm/roles' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <<токен Администратор ПОИБ>>' \
    --data '[
         {
             "id": "c67e8903-a600-4c43-b3b5-139ee49eba01",
             "permissions": ["3b363d32-3456-489c-ac28-6e5afcb2d547", "a0d14d2a-88b4-4c8c-ab00-ad46500e20d2"]
         }
    ]'


    curl --location --request PUT '<<host>>/service/idm/roles' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <<токен Администратор ПОИБ>>' \
    --data '[
         {
             "id": "5cc57c00-4f3b-4c79-83ea-1d9371ce5f8e",
             "permissions": ["1b271f54-12a1-44d9-8334-24bdd826120f", "ceaacf92-f436-4672-9d29-2506b4333f20", "34f92ea9-9363-4cac-8e33-228cd6ba7437"]
         }
    ]'

  5. Запустить скрипты под токенам пользователя у которого есть роль "Администратор ПОИБ"
    где 
    <<host>> - host стенда,
    <<токен Администратор ПОИБ>> - токен пользователя у которого есть роль "Администратор ПОИБ"
    <<домен UI microws продакшена>> - домен UI microws продакшена, например  " https://ervu-uat.test.gosuslugi.ru/microws "

    curl --location --request PUT 'https://front.ervu.loc/service/idm/clients' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <<токен Администратор ПОИБ>>' \
    --data '[{
        "id": "0c94d7c5-532d-4da1-8437-ceec3c799d84",
        "clientUri": "<<домен UI microws продакшена>>/microws"
    }]'

  6. Применить правила на базе данных сервиса proxy-gateway
    SQL:
    https://git.gosuslugi.local/sql/ervu/-/blob/release/1.3.0/pgsql/endpoints_access_info/manual/001-populate-routes-table.sql
    https://git.gosuslugi.local/sql/ervu/-/blob/release/1.5.0/pgsql/endpoints_access_info/manual/001-populate-routes-table.sql
  7. Если НЕ был накачен дамп, то выполнить SQL-скрипты из папки:
    https://git.gosuslugi.local/sql/ervu/-/tree/release/1.4.0/pgsql/idmv2/manual
    https://git.gosuslugi.local/sql/ervu/-/tree/release/1.5.0/pgsql/idmv2/manual
    https://git.gosuslugi.local/sql/ervu/-/tree/release/1.6.6/pgsql/idmv2/manual
    https://git.gosuslugi.local/sql/ervu/-/tree/release/1.7.0/pgsql/idmv2/manual
    https://git.gosuslugi.local/sql/ervu/-/tree/release/1.8.0/pgsql/idmv2/manual
  8. собрать и запустить сервис стандартным образом через helm.

Сборка и загрузка сервиса sso-service


В PVС с именем sso-service-keys-claim создать папку /keys, в которую поместить папку nkxi3hee.000 с файлами из ранее переданного архива с ключами.

Проверить что в папке /keys/nkxi3hee.000 находятся следующие файлы:
header.key
masks.key
masks2.key
name.key
primary.key
primary2.key

Собрать и запустить сервис sso-service стандартным образом


Сборка и запуск сервиса notifier-consumer-notification

https://git.gosuslugi.local/ervu/source/notifier-consumer-notification/-/tree/release/ervu/1.8.0

Перед запуском применить kafka_ACL.txt

Собрать и запустить сервис стандартным образом через helm.


Сборка и запуск сервиса notifier-gateway

https://git.gosuslugi.local/ervu/source/notifier-gateway/-/tree/release/ervu/1.8.0

Добавить в секцию server конфигурации балансировщика kubernetes строки:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";


Пример
https://git.gosuslugi.local/infra/rfc/web/-/blob/master/ervu-uat.conf#L44

Собрать и запустить сервис стандартным образом


Сборка и запуск сервиса workflow-service

https://git.gosuslugi.local/ervu/source/workflow-service/-/tree/release/ervu/1.8.0

Создать БД и пользователя. Базу создаем в кластере p00omnidb.

https://git.gosuslugi.local/sql/ervu/-/blob/release/1.0.0/pgsql/workflowservice/manual/001-workflowservice-create-database.sql

DDL выполняется миграцией в инит контейнере сервиса.

Собрать и запустить сервис стандартным образом


Сборка и запуск сервиса doc-sign-service

  1. перед запуском применить kafka_ACL.txt https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/doc-sign-service/kafka_ACL.txt
  2. собрать и запустить сервис стандартным образом через helm. https://git.gosuslugi.local/ervu/source/doc-sign-service/-/tree/release/ervu/1.2.0

Сборка и запуск сервиса wf-process-events-collector

  1. для запуска сервиса необходима создать базу данных wf-process-event-collector в clickhouse
  2. Перед запуском применить kafka_ACL.txt 
  3. Создать структуру БД. Применить скрипты https://git.gosuslugi.local/sql/ervu/-/tree/release/1.0.0/clickhouse/wf-process-events-collector
  4. Собрать и запустить сервис стандартным образом через helm. https://git.gosuslugi.local/ervu/source/wf-process-events-collector/-/tree/release/ervu/1.2.0

Сборка и запуск сервиса endpoints-access-info

  1. Переносим бекап базы данных PostgreSQL endpoints_access_info (структура + данные). Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00agndadb.

Выполнить скрипты на БД endpoints_access_info:

а)

create extension if not exists "uuid-ossp";


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/endpoints-access-info


Сборка и запуск сервиса mz-discovery

  1. Перенести базу данных PostgreSQL mz_discovery (только БД со структурой таблиц, без данных). Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00omnidb.

Выполнить скрипты на БД mz_discovery:

а)

create extension if not exists "uuid-ossp";


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-discovery


Сборка и запуск сервиса proxy-gateway

  1. Для информации: Сервис proxy-gateway ходит в БД endpoints_access_info под пользователем endpoints_access_info. В конфигах у сервиса proxy-gateway должен быть задан пользователь endpoints_access_info для хождения в БД.
  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/proxy-gateway

Сборка и запуск сервиса sig-generator-service

  1. Добавить в контейнер ключей ключевую пару с псевдонимом: aef8d0e0-bcaa-4e07-8bbe-4953c6eea458:

В PV с именем sig-generator-service-keys создать папку /keys, в которую поместить папку aef8d0e0.000 из переданного архива с ключами.

Проверить что в папке /keys/*.000 находятся следующие файлы:
header.key
masks.key
masks2.key
name.key
primary.key
primary2.key

2. В сервисе добавлен функционал для работы с помощью kafka, добавить пользователя KAFKA_USER = 'sig-generator-service' и пароль KAFKA_PASS = 'sig-generator-service'

3. Сервис работает с s3 под пользователем sig-generator-service

4. Перед запуском применить kafka_ACL.txt

5. Установить переменную PRIVATE_KEYSTORE_ALIAS = "aef8d0e0-bcaa-4e07-8bbe-4953c6eea458" и PRIVATE_KEYSTORE_PASS = "1234567890"

6. Проверить что примонтирован каталог /keys с ключами:

├── aef8d0e0.000
│   ├── header.key
│   ├── masks.key
│   ├── masks2.key
│   ├── name.key
│   ├── primary.key
│   └── primary2.key

7. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/sig-generator-service



Сборка и запуск сервиса printer

  1. Сервис работает с s3 под пользователем printer
  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.6.2/printer

Сборка и запуск сервиса printer-async

  1. Сервис работает с s3 под пользователем printer
  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.6.2/printer-async

Сборка и запуск сервиса ervu-extract-from-registry-provider

  1. Перенести базу данных PostgreSQL ervu_extract_from_registry_provider (только БД со структурой таблиц, без данных). Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00agndadb.

Выполнить скрипты на БД ervu_extract_from_registry_provider:

а)

create extension if not exists "uuid-ossp";


2. Проверить, что в конфиге сервиса есть переменные со значениями SIG_GENERATOR_SERVICE_ULR = 'http://sig-generator-service' и PRINTER_TEMPLATE_BASE_PATH = "s3://print-template/" и S3_CLIENTS_DEFAULT_BUCKET = "print-template"

"Также проверить если есть необходимые скрипты расширения, то добавить их. Также проверить есть ли отдельные скрипты на выдачу прав grant connect on database, grant all privileges on table journal, grant all privileges on schema public"

!!! на проде значение env SMEV_TOPICS_PREFIX должно быть "" (пустая строка) !!!

3. Сервис работает с s3 под пользователем ervu-extract-from-registry-provider

4. Перед запуском применить kafka_ACL.txt

5. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-extract-from-registry-provider


Сборка и запуск сервиса wf-smev-getway

  1. Создать топик кафки mz-hold-stream-store-repartition

    kafka- topics.sh --bootstrap-server localhost:9092 --topic mz-hold-stream-store-repartition --create --partitions 3 --replication-factor 1

  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.6.0/wf-smev-getway

Сборка и запуск сервиса s3urlsigner

  1. Проверить, что значение переменной SECURITY_ENABLED = "false"
  2. Сервис работает с s3 под пользователем s3urlsigner
  3. Перед запуском применить kafka_ACL.txt
  4. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/s3urlsigner

Сборка и запуск сервиса mz-epgu-hubs

  1. Переносим бекап базы данных PostgreSQL mz_epgu_hubs (структура + данные). Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00omnidb.

Выполнить скрипты на БД mz_epgu_hubs :

а) 

create extension if not exists "uuid-ossp";


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-epgu-hubs


Сборка и запуск сервиса mz-mnsv-ervu-suspension-realty-reg

  1. Для информации: Сервис mz-mnsv-ervu-suspension-realty-reg работает с БД mz_ervu_restriction_info (смотри скрипты в разделе деплоймент плана "Сборка и запуск сервиса mz-mnsv-ervu-driving-registration-vehicle")
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-mnsv-ervu-suspension-realty-reg


Сборка и запуск сервиса mz-mnsv-ervu-rp-summons

  1. Перенести базу данных PostgreSQL mz_mnsv_ervu_rp_summon (только БД со структурой таблиц, без данных). Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00omnidb.

Выполнить скрипты на БД mz_mnsv_ervu_rp_summon :

а)

create extension if not exists "uuid-ossp";


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-mnsv-ervu-rp-summons


Сборка и запуск сервиса mz-mnsv-ervu-measures-temporary-confirm

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-mnsv-ervu-measures-temporary-confirm

Сборка и запуск сервиса mz-mnsv-ervu-fns-registration

  1. Для информации: Сервис mz-mnsv-ervu-fns-registration работает с БД mz_ervu_restriction_info (смотри скрипты в разделе деплоймент плана "Сборка и запуск сервиса mz-mnsv-ervu-driving-registration-vehicle")
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-mnsv-ervu-fns-registration


Сборка и запуск сервиса mz-mnsv-ervu-driving-registration-vehicle

  1. Перенести базу данных PostgreSQL mz_ervu_restriction_info (только БД со структурой таблиц, без данных). Этот сервис mz-mnsv-ervu-driving-registration-vehicle является владельцем и работает с БД mz_ervu_restriction_info. Также посмотреть какой пользователь для БД задан на пилоте ЦОД МО. Базу создаем в кластере p00omnidb.

Выполнить скрипты на БД mz_ervu_restriction_info:

а)

create extension if not exists "uuid-ossp";

б)

create user mz_mnsv_ervu_suspension_realty_reg WITH PASSWORD 'mz_mnsv_ervu_suspension_realty_reg';
create user mz_mnsv_ervu_fns_registration WITH PASSWORD 'mz_mnsv_ervu_fns_registration';
create user mz_mnsv_ervu_driving_registration_vehicle WITH PASSWORD 'mz_mnsv_ervu_driving_registration_vehicle';
create user mz_mnsv_ervu_abroad_forbidden_temporary WITH PASSWORD 'mz_mnsv_ervu_abroad_forbidden_temporary';

в)

grant all privileges on table restriction_info to mz_mnsv_ervu_suspension_realty_reg, mz_mnsv_ervu_fns_registration, mz_mnsv_ervu_driving_registration_vehicle, mz_mnsv_ervu_abroad_forbidden_temporary;
grant all privileges on table flyway_schema_history to mz_mnsv_ervu_suspension_realty_reg, mz_mnsv_ervu_fns_registration, mz_mnsv_ervu_driving_registration_vehicle, mz_mnsv_ervu_abroad_forbidden_temporary;
grant all privileges on schema public to mz_mnsv_ervu_suspension_realty_reg, mz_mnsv_ervu_fns_registration, mz_mnsv_ervu_driving_registration_vehicle, mz_mnsv_ervu_abroad_forbidden_temporary;

г)

grant connect on database mz_ervu_restriction_info to mz_mnsv_ervu_suspension_realty_reg, mz_mnsv_ervu_fns_registration, mz_mnsv_ervu_driving_registration_vehicle, mz_mnsv_ervu_abroad_forbidden_temporary;

д)

create user mz_ervu_restriction_info WITH PASSWORD 'mz_ervu_restriction_info';

е)

create database mz_ervu_restriction_info owner mz_ervu_restriction_info;


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-mnsv-ervu-driving-registration-vehicle


Сборка и запуск сервиса mz-mnsv-ervu-abroad-forbidden-temporary

  1. Для информации: Сервис mz-mnsv-ervu-abroad-forbidden-temporary работает с БД mz_ervu_restriction_info (смотри скрипты в разделе деплоймент плана "Сборка и запуск сервиса mz-mnsv-ervu-driving-registration-vehicle")
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.1/mz-mnsv-ervu-abroad-forbidden-temporary


Сборка и запуск сервиса mz-fns-idern

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-fns-idern

Сборка и запуск сервиса mz-gateway

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.2.0/mz-gateway

Сборка и запуск сервиса mz-data-upload

  1. Сервис работает с s3 под пользователем mz-data-upload
  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/mz-data-upload

Сборка и запуск сервиса mz-adapter-ver1-3

  1. Проверить что в папке mz-adapter-keys/keys/nkxi3hee.000 находятся следующие файлы:

header.key
masks.key
masks2.key
name.key
primary.key
primary2.key

Если нет, скопировать в папку mz-adapter-keys/keys/nkxi3hee.000 файлы с ключами из ранее переданного архива.

2. Сервис работает с s3 под пользователем mz-adapter

3. Сервис работает с БД Redis. Прописать креды у сервиса для коннекта с БД Redis

4. Перед запуском применить kafka_ACL.txt

5. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/mz-adapter-ver1-3


Сборка и запуск сервиса mz-adapter

  1. В PV с именем mz-adapter-keys создать папку /keys, в которую поместить папку nkxi3hee.000 из ранее переданного архива с ключами.

Проверить что в папке /keys/nkxi3hee.000 находятся следующие файлы:
header.key
masks.key
masks2.key
name.key
primary.key
primary2.key

2. Сервис работает с s3 под пользователем mz-adapter

3. Сервис работает с БД Redis. Прописать креды у сервиса для коннекта с БД Redis

4. Перед запуском применить kafka_ACL.txt

5. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/mz-adapter


Сборка и запуск сервиса micro-digest-calc

  1. Сервис работает с s3 под пользователем micro-digest-calc
  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/micro-digest-calc

Сборка и запуск сервиса ervu-journal-service

  1. Перенести базу данных PostgreSQL ervu_journal. В этой БД требуется перенести бекап таблицы ui_action_description. По остальным таблицам БД достаточно перенести только структуру без данных. Базу создаем в кластере p00omnidb.

Выполнить скрипты на БД ervu_journal:

а) https://git.gosuslugi.local/sql/ervu/-/blob/release/1.0.0/pgsql/ervu_journal/manual/003-postgres-create-extension.sql

То что по ссылке скрипт: 

create extension if not exists "uuid-ossp";

б) 

grant all privileges on schema public to ervu_import_history;
grant all privileges on table import_journal_finish, import_journal_start, uploaded_files, journal, import_results, import_validation_errors, import_events_journal to ervu_import_history;

в) 

grant connect on database ervu_journal to ervu_import_history;

г)

grant all privileges on table journal, object_versions, object_history to ervu_object_history;

д)

grant all privileges on schema public to ervu_object_history;

е)

grant connect on database ervu_journal to ervu_object_history;

ж)

grant connect on database ervu_journal to ervu_user_actions_collector;

з)

grant all privileges on schema public to ervu_user_actions_collector;

и)

grant all privileges on table proxy_gateway_event, ui_action_description, ui_action_journal, ui_admin_journal to ervu_user_actions_collector;

к)

grant connect on database ervu_journal to auth_events_collector;

л)

grant all privileges on schema public to auth_events_collector;

м)

grant all privileges on table auth_journal to auth_events_collector;


2. Проверить, что в файле конфига сервиса имеется переменная APP_REPORT_LIMIT и у неё задано значение 600000

3. Перед запуском применить kafka_ACL.txt

4. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-journal-service


Сборка и запуск сервиса ervu-user-actions-collector

  1. Для информации: Сервис ervu-user-actions-collector использует для своей работы БД ervu_journal (смотри скрипты в разделе "Сборка и запуск сервиса ervu-journal-service")
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/ervu-user-actions-collector


Сборка и запуск сервиса ervu-import-history-service

  1. Для информации: Сервис ervu-import-history-service использует для своей работы БД ervu_journal (смотри скрипты в разделе "Сборка и запуск сервиса ervu-journal-service"), создать пользователя бд ervu_journal

    create user ervu_import_history WITH PASSWORD 'ervu_import_history';
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/ervu-import-history-service


Сборка и запуск сервиса ervu-ui-action-service

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/ervu-ui-action-service

Сборка и запуск сервиса ervu-mz-monitor-service

  1. Перенести базу данных PostgreSQL ervu_mz_monitor. В этой БД требуется перенести бекап таблиц mvz_groups и mvz_names. По остальным таблицам достаточно перенести только структуру без данных. Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00omnidb.

Выполнить скрипты на БД ervu_mz_monitor:

а)

create extension if not exists "uuid-ossp";


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-mz-monitor-service



Сборка и запуск сервиса ervu-object-history-service

  1. Для информации: Сервис ervu-object-history-service использует для своей работы БД ervu_journal (смотри скрипты в разделе "Сборка и запуск сервиса ervu-journal-service")
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/ervu-object-history-service


Сборка и запуск сервиса ervu-object-diff-calc

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-object-diff-calc

Сборка и запуск сервиса mz-history-3

  1. Создать базу данных PostgreSQL mz_history (только БД). В логике сервиса mz-history-3 имеется код, который при старте сервиса направит соответствующие запросы для создания помесячных таблиц в БД mz_history. Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00omnidb.
  2. Перед запуском применить kafka_ACL.txt
  3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.6.2/mz-history-3


Сборка и запуск сервиса ervu-nsi-service

  1. Переносим бекап базы данных PostgreSQL ervu_nsi (структура + данные). Пользователь для БД посмотреть какой задан на пилоте ЦОД МО. Базу создаем в кластере p00agndadb.

Выполнить скрипты на БД ervu_nsi:

а)

create extension if not exists "uuid-ossp";


2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-nsi-service



Сборка и запуск сервиса auth-events-collector

  1. Для информации: Сервис auth-events-collector использует для своей работы БД ervu_journal (смотри скрипты в разделе "Сборка и запуск сервиса ervu-journal-service")
  2. Перед запуском применить kafka_ACL.txt

3. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/auth-events-collector


Сборка и запуск сервиса ervu-auth-admin-events-solar

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-auth-admin-events-solar

Сборка и запуск сервиса mz-event-service

  1. Перед запуском применить kafka_ACL.txt
  2. Собрать и запустить сервис стандартным образом через helm. Код сервиса берём из последней, актуальной релизной ветки сервиса (либо из ветки master, там этот код также имеется) - https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.2.0/mz-event-service


Сборка и запуск сервиса ervu-application-gateway

  1.  Переносим бекап базы данных ervu_application_gateway. Базу создаем в кластере p00agndadb.
  2.  Для очистки таблиц для которых нужна только структура выполняем скрипт       
    Скрипт очистки таблиц ervu_application_gateway Развернуть исходный код
  3.  Применить kafka_ACL.txt для сервиса ervu-application-gateway
  4.  Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/ervu-application-gateway

Сборка и запуск сервиса ervu-data-update-controller

  1. Переносим бекап базы данных ervu-preliminary-data. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт
    Скрипт очистки таблиц ervu-preliminary-data Развернуть исходный код
  3.  Применить kafka_ACL.txt для сервиса ervu-data-update-controller
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-data-update-controller


Сборка и запуск сервиса ervu-person-registry

  1. Переносим бекап базы данных ervu_person_registry. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_person_registry Развернуть исходный код

     Таблицы которые должны быть перенесены с сохранением данных:
       attachment_types
       cause_not_confirm
       decision_reason
       military_registration_reason 
       military_registration_specialities
       personal_document_types
       recruit_archivation_reason
       recruit_ervu_application_status
       recruit_ervu_status
       recruit_private_file_status
       sources_recruit
       system_document_status
       system_document_types
       type_dul_rf
       vk_fias_all
       vk_fias_all_double
       vu_set_reasons
       recruitment
       flyway_schema_history

  1. Применить kafka_ACL.txt для сервиса ervu-person-registry
  2. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-person-registry


Сборка и запуск сервиса ervu-validate-recruits

  1. Применить kafka_ACL.txt для сервиса ervu-validate-recruits
  2.  Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/ervu-validate-recruits


Сборка и запуск сервиса template-prefill-gateway-service

  1. Переносим бекап базы данных с данными template_prefill_gateway. Все таблицы с данными должны быть перенесены. Базу создаем в кластере p00agndadb.
  2. Применить kafka_ACL.txt для сервиса template-prefill-gateway-service
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/template-prefill-gateway-service


Сборка и запуск сервиса ervu-xml-generator

  1.  Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.4.0/ervu-xml-generator


Сборка и запуск сервиса ervu-application-calc-service

  1. Переносим бекап базы данных с данными ervu_application_calc . Все таблицы с данными должны быть перенесены. Базу создаем в кластере p00agndadb.
  2. Применить kafka_ACL.txt для сервиса ervu-application-calc-service
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.7.0/ervu-application-calc-service


Сборка и запуск сервиса ervu-appeal-document-service

  1. Переносим  бекап базы данных ervu_appeal_document. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скриптОшибка визуализации кода макроса: задано недействительное значение для параметра «com.atlassian.confluence.ext.code.render.InvalidValueException»
    truncate recruit; 
    truncate appeal_document;

    Таблицы которые должны быть перенесены с сохранением данных:
        punishment_appeal_result
        flyway_schema_history

  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-appeal-document-service
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/ervu-appeal-document-service


Сборка и запуск сервиса ervu-decision-document-service

  1. Переносим  бекап базы данных ervu_decision_document. Базу создаем в кластере p00agndadb.

    Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_decision_document Развернуть исходный код
    Таблицы которые должны быть перенесены с сохранением данных:
          recruitment
        attachment_type
        cause_administrative_punishment
        cause_criminal_punishment
        commission_decision_type
        decision_status
        decision_type
        decision_type_for_good_reason
        foreign_decision_type
        system_document_status
        system_document_type
        type_administrative_punishment
        type_criminal_punishment
        type_resolutions_documents
        flyway_schema_history
  2. Перед запуском применить kafka_ACL.txt для сервиса ervu-decision-document-service
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-decision-document-service


Сборка и запуск сервиса ervu-process-application-service

  1.  Перед запуском применить kafka_ACL.txt для сервиса ervu-process-application-service
  2. Собрать и запустить сервис ervu-process-application-service стандартным образом https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-process-application-service


Сборка и запуск сервиса personal-template-prefill-service

  1. Переносим бекап базы данных ervu_geps_notifications. Базу создаем в кластере p00omnidb.

Для очистки таблиц для которых нужна только структура выполняем скрипт

Скрипт очистки таблиц ervu_geps_notifications Развернуть исходный код

Таблицы которые должны быть перенесены с сохранением данных:
      epgu_template_prefill
      history_draft_requests
      notifications_types
      status_geps
      recruitment
      flyway_schema_history

flyway_schema_history

  1. Перед запуском применить kafka_ACL.txt для сервиса personal-template-prefill-service
  2. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/personal-template-prefill-service


Сборка и запуск сервиса ervu-scheduler-executor-service

  1. Переносим бекап базы данных database_scheduler. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц database_scheduler Развернуть исходный код
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-scheduler-executor-service
  4. Выполнить CURL

    Запрос создания таски Развернуть исходный код

Сборка и запуск сервиса ervu-import-service

  1. Переносим бекап базы данных ervu_import. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_import Развернуть исходный код
  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-import-service
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/ervu-import-service


Сборка и запуск сервиса ervu-import-controller

  1. Переносим бекап базы данных  ervu_import_controller. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_import_controller Развернуть исходный код
  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-import-controller
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.8.0/ervu-import-controller

Сборка и запуск сервиса ervu-subpoena-registry

  1. Переносим бекап базы данных ervu_subpoena_registry. Базу создаем в кластере p00omnidb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_subpoena_registry Развернуть исходный код
  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-subpoena-registry
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-subpoena-registry

Сборка и запуск сервиса ervu-summon-list-registry

  1. Переносим бекап базы данных ervu_summon_list_registry. Базу создаем в кластере p00omnidb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_summon_list_registry Развернуть исходный код
  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-summon-list-registry
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-summon-list-registry

Сборка и запуск сервиса ervu-subpoena-exporterdata

  1. Переносим бекап базы данных ervu_subpoena_exporterdata. Базу создаем в кластере p00omnidb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_subpoena_exporterdata Развернуть исходный код
  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-subpoena-exporterdata
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-subpoena-exporterdata

Сборка и запуск сервиса ervu-incidents-service

  1. Переносим бекап базы данных ervu_incidents. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_incidents Развернуть исходный код
  3. Перед запуском применить kafka_ACL.txt для сервиса ervu-incidents-service
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-incidents-service

Сборка и запуск сервиса ervu-incident-generator-service

  1. Перед запуском применить kafka_ACL.txt для сервиса ervu-incident-generator-service
  2. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-incident-generator-service

Сборка и запуск сервиса ervu-doc-merge-service

  1. Переносим бекап базы данных ervu_doc_merge. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц ervu_doc_merge Развернуть исходный код
  3. Применить kafka_ACL.txt для сервиса ervu-doc-merge-service
  4.  Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.5.0/ervu-doc-merge-service

Сборка и запуск сервиса job-status-service

  1. Переносим бекап базы данных job_status. Базу создаем в кластере p00agndadb.
  2. Для очистки таблиц для которых нужна только структура выполняем скрипт

    Скрипт очистки таблиц job_status Развернуть исходный код
  3. Применить kafka_ACL.txt для сервиса job-status-service
  4. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/job-status-service

Сборка и запуск сервиса ervu-sequence

  1. Переносим бекап базы данных ervu_sequence. Базу создаем в кластере p00omnidb.
  2. Применить kafka_ACL.txt для сервиса ervu-sequence
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/ervu-sequence

Сборка и запуск сервиса fias

  1. Переносим бекап базы данных ArangoDb fias
  2. Применить kafka_ACL.txt для сервиса fias
  3.  Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/fias

Сборка и запуск сервиса stat-report-scheduler

  1. Перед запуском применить kafka_ACL.txt для сервиса stat-report-scheduler
  2. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.8.0/stat-report-scheduler

Сборка и запуск сервиса service-registry

  1. Переносим бекап базы данных ArangoDb service-registry
  2. Перед запуском применить kafka_ACL.txt для сервиса service-registry
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/tree/release/1.2.0/service-registry

Сборка и запуск сервиса document-registry

  1. Переносим бекап базы данных ArangoDb document-registry
  2. Перед запуском применить kafka_ACL.txt для сервиса document-registry
  3. Собрать и запустить стандартным образом через helm. Актуальная релизная ветка https://git.gosuslugi.local/k8s/ervu/-/blob/release/1.6.6/document-registry

Сборка и запуск сервиса microws

https://git.gosuslugi.local/ervu/source/microws-ervu/-/tree/release/ervu/1.8.0

Собрать и запустить сервис стандартным образом через helm.

Сборка и запуск сервиса front-idm-micro

https://git.gosuslugi.local/ervu/source/front-idm-micro-ervu/-/tree/release/ervu/1.8.0

Собрать и запустить сервис стандартным образом через helm.




Добавить описание новых сервисов

Сборка и запуск сервиса configuration-discovery

Сборка и запуск сервиса crypto-gateway

Сборка и запуск сервиса ervu-dashboard-backend

Сборка и запуск сервиса ervu-dashboard-frontend

Сборка и запуск сервиса ervu-interdepreq

Сборка и запуск сервиса ervu-lkrp-av

Сборка и запуск сервиса ervu-lkrp-landing

Сборка и запуск сервиса ervu-lkrp-ul-backend

Сборка и запуск сервиса ervu-lkrp-ul-frontend

Сборка и запуск сервиса ervu-organization-registry

Сборка и запуск сервиса ervu-person-archive-service

Сборка и запуск сервиса ervu-rp-summons-service

Сборка и запуск сервиса mfe-administrative

Сборка и запуск сервиса mfe-archive    

Сборка и запуск сервиса mfe-recruit-edit

Сборка и запуск сервиса mz-mnsv-ervu-measures-temporary-confirm-fsb

Сборка и запуск сервиса mz-mnsv-ervu-send-recruit-data

Сборка и запуск сервиса mz-pfr-snils-by-additional-data

Сборка и запуск сервиса user-create-service







Выполняемые скрипты

Выполняемые CURL

В конце установки обязательно выполнить curlы:
1) После развёртывания (в самом конце) всех сервисов выполнить GET запрос на эндпойнт сервиса /classifiers/records/force-kafka-send и выполнить GET запрос /frontLabels/sendAll, получить токен любого пользователя ерву с фронта для curl запроса:

/classifiers/records/force-kafka-send Развернуть исходный код
/frontLabels/sendAll Развернуть исходный код

2) Запустить курл под токеном пользователя у которого есть роль "Администратор ПОИБ"

где 
        <<host>> - host стенда,
        <<токен Администратор ПОИБ>> - токен пользователя у которого есть роль "Администратор ПОИБ"

reconcile/domain/to/kafka/v1 Развернуть исходный код
reconcile/account/to/kafka/v1 Развернуть исходный код
reconcile/person/to/kafka/v1 Развернуть исходный код
Написать комментарий...